AWS Cloud Storage Day 取材レポート(6).[B-04] 日本から世界へ : アジアで展開する動画サービス RealPlayを支えるAWS
- AWS Cloud Storage Day ~ストレージの『今』へご招待~
| 2013年9月13日(金)アマゾン ウェブ サービスの無料ストレージカンファレンスを開催! - セッション・講師紹介 [B-04]:
日本から世界へ : アジアで展開する動画サービス RealPlayを支えるAWS - AWS Cloud Storage Dayに参加してきた(当日分全取材レポート目次付まとめ) | Developers.IO
講師・概要紹介
講師
豊田 将志氏 (リアルネットワークス株式会社 アジア コンシューマー事業部 メディアサービスチーム シニアプログラムマネージャー)
概要
RealPlayとは、アジア地域に向けてRealPlayerを提供するRealNetworksジャパンチームが、独自で開発・提供している動画サービス及び動画プラットフォームです。S3を初めとするAWSのクラウドソリューションが、このグローバル動画サービスをどのように支え、どのような進化を遂げていったかに関してふんだんに事例を交えてご紹介いたします。
セッション内容レポート
Real Networksの紹介
まずは、弊社についてご紹介をしたいと思います。1995年にシアトルにて、Amazonと同じ時期に設立致しました。翌年には日本でも活動を開始しております。元々はHelixにてストリーミングソリューション・テクノロジーを展開しておりました。現在ではRealPlayerが有名です。コンシューマーサービス、プロダクトとして展開しています。
アジア市場に於いては、2006年にRealMusicを始めました。Tokyo Comsumer Team、これはイコールAsia Comsumer Teamでもあるのですが、写真に写っている地域をカバーすべく頑張っております。100以上のチャンネルで日本からアジア市場にVODサービスを展開しています。
スケーリングについては、これまでも常に悩まされてきた問題です。当セッションでは、その内容について歴史と共にご説明して行きたいと思います。AWSが登場するのは少し先になりますが、登場までしばしお付き合い頂ければと思います。
(写真:豊田 将志氏)
第1章 各リージョンにiDC
2008年、東京/シンガポール/シドニーの計3リージョンが展開されました。これは奇しくもAWSの展開リージョンと同じです。当時、(RealPlayの)東京オフィスが見ていた地域は日本、韓国、シンガポールでした。東京チームとシンガポールチームを東京に集約させていました。技術面の体制は貧弱と言わざるを得ず、僅か3名(システムエンジニア1名、開発2名)の体制で全体を見ておりました。AWSの歴史としても2006年USでEC2が、リージョンも2006年シンガポール、2010年東京…という状況ですので、今程クラウドは充実していない時期でした。
第2章 CDN時代
CDN活用時代。これは世界中にキャッシュサーバがある状態といったところでしょうか。東京のiDCをオリジンとし、CDNで静的にファイルを配信。動画配信もCDNで行うようになりました。
サーバーオペレーションは今まで通りで、トータルコストについては大幅削減を実現出来、更に動画配信のクオリティをUpする事も出来ました。何とか局面をしのぎ、かなりのKAIZEN(改善)!となったのですが、全てが解決したのかと言われるとNO!と言わざるを得ないところでした。開発面で、かなりのディスアドバンテージが発生していたのです。
東京のiDCでダイナミックアクセス全てを処理出来るキャパシティが不足し、HTML Publishing Model=全てのページを静的HTMLで配信する体制を取ったのですが、この体制ですと1ページ1ピクセルの修正でも全ページをPublishしなければならなくなりました。また果てしなく増えるJavascriptロジックや動画ファイル…エンコード負荷とストレージの問題にも悩まされるという時期が2〜3年程続きました。
第2.5章 転機到来
そんな折、あるプロジェクトでPaaSを使う機会がやってきました。2011年の事です。でもなぜPaaSなのでしょうか?PaaSでは、CDNの依存性を気にせずに使える事が出来たのです。これはチャレンジングな内容だと思い、PaaSでプロジェクトを開始しました。実際、すごく簡単に開発を進めることが出来(Mac1台で出来ました)、運用負荷もゼロ。これはRealPlayにも適用出来るか?と思いましたが、この時点ではもっと自由度が必要であるという判断でした。当時システムをPHPで書いていましたが、このPaaSではPHPはサポート対象外。そのためPythonを使っていました。その他、サーバフルコントロールが出来ない、ストレージが無く動画もUp出来ないという制限も色々あったりしました。
第3章 そしてAWSへ
そしていよいよAWSの登場です。AWS移行については2012年1月に決断をし、4月には第1弾リリースを行いました。プログラミング言語に関しても、Railsベースのプラットフォームに移行しています。
Stage1: Data OUTをAWSへ
移行時の環境構成図は以下の内容となります。(以下画像参照)この時点で、表示系の変更に関しては大分容易になりました。しかしData INの部分については未だiDCの範囲内です。エンコードやストレージ容量の問題についても未解決なまま。また、レプリケーション遅延に関するエラーも発生していました。
Stage2: Data INもAWSに
次のステージでは、INに関する部分もAWSに移行しました。構成図は以下の内容となります。(画像参照) 一連の流れをAWSに集約させ、EC2のみの構成からの脱却を図りました。2012年09月にはこの形でのリリースを行っています。一番大きな処理はSQSの部分です。ラグが無い構成を構築する事が出来、オリジナル画像については管理する必要が無くなりました。S3ストレージ問題からも解放され、運用負荷は大幅減を実現する事が出来ました。
Stage3 S3 Ecosystem
そして第3段階。ここではETS(Elastic Transcoder)を利用しました。ETSのリリースについてはとある朝の通勤時に知り、通勤時間中に色々調べて出社後すぐさまチームのメンバーと相談し着手に取り掛かっていました。動画のエンコーディングはシステムの肝となる部分なのですが、ETSはリリース当初から高い品質のものを提供してくれていました。
移行に関しては、検証から開発を含め約2週間で完了しました。コストカットや運用負荷を更に減らす事が出来、S3やSQSで簡単に管理出来るようになりました。"S3エコシステム"の凄さを強く実感した次第です。
CloudFrontもシステムに適用させました。CloudFrontはAWS提供のCDNサービスで、基本的にコンテンツ(Javascript, CSS, 画像)をS3に配置するだけで宜しくやってくれる仕組みとなっています。この(移行完了)時点で、オンプレミス環境から完全に独立を果たす形となりました。今年(2013年)3〜4月のお話です。構成図は以下となります。(以下画像参照)
更には、Glacierに関しても適用・移行計画を進めております。システムで利用しているオリジナル動画ファイル部分に関するコストカットを見込めると言う事で、更に"S3エコシステム"の効果を実感出来るようになるのでは、と期待をしております。
まとめ: ありがとう!AWS
という訳で、まとめとしては『ありがとうAWS!』という点に尽きると思います。エコシステムを日々実感しており、感謝してもし切れません。開発スピードが上げられると言うのは何より嬉しいですし、インフラ情報がオープンになったと言うのは副次的要素としても大きいと思います。マイグレーションは現在も進行中ですが、フットワークが軽くなったように感じます。靴が無くて走れない、と言った状況から、NIKEの靴で走れるようになったよ!というところでしょうか(笑)
アジャイルやCIのような流れにもこれらを入れられるようになりました。puppet等の環境も導入し、最新潮流に乗れるようになっています。相性は抜群です。リリース間隔も以前は数ヶ月だったものが現在では1日に5回、機能リリースが出来るように、2週間に1回は新機能をリリース出来るようになりました。エキサイティングで楽しい毎日を送っています。
RealPlayはAWSと共に急ピッチで進化中です。今後を是非お楽しみにしていてください。本日はありがとうございました。